1
报名表开始出现问题了
DSAI2202Lesson 1: Designing Relational Database Structures
00:00

在整理学校信息时,电子表格是一种非常容易上手的工具。然而,将学生、课程、教师和报名记录等全部信息都塞进一张庞大而臃肿的表格中,会导致数据不断重复,系统也因此崩溃。当一名学生选修多门课程时,其个人详细信息必须被反复填写,造成大量重复数据,带来严重的维护难题。

⚠️ 平面报名表学生:Sam(ID:001)课程:数学、科学、艺术数据在多行中重复出现!✓ 关系型数据库表 1:学生(Sam)表 2:课程(数学……)表 3:选课记录(关联)

数据库设计的核心概念

  • 数据重复:当一门课程包含许多学生时,课程和教师信息会在多行中重复出现,既浪费空间又容易引发错误。
  • 更新异常:如果 Sam 更换了电话号码,而我们只在一处进行了更新,那么表格中就会充满相互矛盾的信息。
  • 需求分析:构建可靠设计的第一步,就是发现这些问题,并识别实体、属性和关系。

为什么我们需要结构

设计良好的数据库可以避免错误——例如防止完全相同的学生—课程组合被无意中重复出现。通过将不同的概念分离到结构合理的独立表中,每一行都代表一类单一且一致的对象,从而确保操作可靠。

设计原则
每一项设计决策都必须能够直接追溯到明确的需求,而不是基于臆想中的惯例,这样才能确保系统架构准确地还原真实世界。
The Registration Sheet Is Starting to Break